/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package funda.appius.Avance.Real;

import funda.appius.arquitectura.AbstractFunda;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author payo
 */
public class Avance_Real extends AbstractFunda {
    ArrayList<AvanceDeObra> LstAvanceObra;
    ArrayList<Insumo_Capturado> LstInsumoCapturado;
    int IdAvanceReal, IdProyecto;

    public int getIdAvanceReal() {
        return IdAvanceReal;
    }

    public void setIdAvanceReal(int IdAvanceReal) {
        this.IdAvanceReal = IdAvanceReal;
    }

    public int getIdProyecto() {
        return IdProyecto;
    }

    public void setIdProyecto(int IdProyecto) {
        this.IdProyecto = IdProyecto;
    }

    public ArrayList<AvanceDeObra> getLstAvanceObra() {
        return LstAvanceObra;
    }

    public void setLstAvanceObra(ArrayList<AvanceDeObra> LstAvanceObra) {
        this.LstAvanceObra = LstAvanceObra;
    }

    public ArrayList<Insumo_Capturado> getLstInsumoCapturado() {
        return LstInsumoCapturado;
    }

    public void setLstInsumoCapturado(ArrayList<Insumo_Capturado> LstInsumoCapturado) {
        this.LstInsumoCapturado = LstInsumoCapturado;
    }

    public Avance_Real()
    {
        super();
    }

    public Avance_Real(int IdProyecto) {
        super();
        this.IdProyecto = IdProyecto;
        this.IdAvanceReal = Integer.parseInt(insertarId().toString());
        this.LstAvanceObra = new ArrayList<AvanceDeObra>();
        this.LstInsumoCapturado = new ArrayList<Insumo_Capturado>();
    }
    
    
    
    @Override
    protected void fillFunda(ResultSet row) {
         try{
            int x =0;
            this.IdAvanceReal = row.getInt(++x);
            this.IdProyecto = row.getInt(++x);
            this.LstAvanceObra = new ArrayList<AvanceDeObra>();
            this.LstInsumoCapturado = new ArrayList<Insumo_Capturado>();
            List<AbstractFunda> abs = AbstractFunda.getAllFrom("avancedeobra", "IdAvanceDeObra", " IdAvanceReal", IdAvanceReal,AvanceDeObra.class);
            for(AbstractFunda val : abs)
                this.LstAvanceObra.add((AvanceDeObra)val);
            List<AbstractFunda> abs2 = AbstractFunda.getAllFrom("insumocapturado", "IdInsumoCapturado", " IdAvanceReal", IdAvanceReal,Insumo_Capturado.class);
            for(AbstractFunda val : abs2)
                this.LstInsumoCapturado.add((Insumo_Capturado)val);
         }
        catch(Exception e){}
    }

    @Override
    protected void Comandos() {
        this.id = "IdAvanceReal";
        this.tabla = "avancereal";
        this.strDelete = "DeleteAvanceReal";
        this.strInsertar = "InsertarAvanceReal";
        this.strInsertarId = "InsertarIdAvanceReal";
        this.strUpdate = "UpdateAvanceReal";
    }

    @Override
    public ArrayList<Object> getAtributos() {
        ArrayList<Object> lst = new ArrayList<Object>();
        lst.add(IdProyecto);
        lst.add(IdAvanceReal);
        return lst;
    }
    
      @Override
    public Avance_Real get(Object id) {
        AbstractFunda abs = AbstractFunda.getAbstractFunda(new Avance_Real(),id,tabla,this.id);
        Avance_Real c = (Avance_Real)abs;
        return c;
    }
    
    public ArrayList<Avance_Real> getAll() {
        List<AbstractFunda> abs = AbstractFunda.getAll(tabla,id,this.getClass());
        ArrayList<Avance_Real> lst = new ArrayList<Avance_Real>();
        for(AbstractFunda af : abs)
            lst.add((Avance_Real)af);
        return lst;
    }
}
